package model;

import com.google.gson.Gson;


/**
 * @ClassName: ResultVO
 * @Description:
 * @Auther: 梁昊
 * @Date: 2016/2/22 14:16
 * @Version: 1.0
 */
public class ResultVO<T> {
    /**
     * 状态码.
     */
    private Integer code;

    /**
     * 消息提示.
     */
    private String msg;

    /**
     * 数据条数
     */
    private long count;
    /**
     * 数据.
     */
    private T data;

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }

    public long getCount() {
        return count;
    }

    public void setCount(long count) {
        this.count = count;
    }

    @Override
    public String toString() {
        Gson gson = new Gson();
        return gson.toJson(this.data);

//        .excludeFieldsWithoutExposeAnnotation() //不对没有用@Expose注解的属性进行操作
//                .enableComplexMapKeySerialization() //当Map的key为复杂对象时,需要开启该方法
//                .serializeNulls() //当字段值为空或null时，依然对该字段进行转换
//                .setDateFormat("yyyy-MM-dd HH:mm:ss:SSS") //时间转化为特定格式
//                .setPrettyPrinting() //对结果进行格式化，增加换行
//                .disableHtmlEscaping() //防止特殊字符出现乱码
//                .registerTypeAdapter(User.class,new UserAdapter()) //为某特定对象设置固定的序列或反序列方式，自定义Adapter需实现JsonSerializer或者JsonDeserializer接口
//                .create();
    }
}
